1. Field of the Invention
The present invention generally relates to a numerical control apparatus for controlling drive shafts in a rectangular coordinate system of machinery, such as a machine tool (lathe, miller, machining center, etc.), a laser beam machine, an electric discharge machine, a robot and the like, to thereby perform positioning control.
2. Description of the Prior Art
FIG. 1 shows a vertical-type machining center controlled by a numerical control apparatus. In the drawing, the reference numeral 1 designates a table for setting a work on it. The table 1 is movable in the directions of two coordinate axes, that is, the x-coordinate axis and the y-coordinate axis (hereinafter referred to as X-axis and axis respectively). The reference numeral 2 designates a main spindle head movable in the direction 0f the z-coordinate axis (hereinafter referred to as Z-axis). The main spindle head 2 is provided with a main spindle 3 which is disposed at the top end of the main spindle head 2 so that a tool supplied from a tool magazine 4 can be attached to the main spindle 3. The tool magazine 4 is arranged to stock various kinds of tools (T) in it. The reference numeral 5 designates a numerical control apparatus and a power control cabinet, and the reference numeral 6 designates an operating board.
In the case where a work is to be machined by use of such a machining center provided with a numerical control apparatus, the table 1 must be moved in the X- and Y-axis and the main spindle 2 must be moved in the Z-Y-axis so that the tool (T) attached to the main spindle 3 can be subject to positioning control relative to the work placed on the table 1. In other words, it is necessary that the tool (T) is controlled to come to a target position, such as a machining start point or the like, of the work.
The positioning control aims at preparing for machining the work and does not aim at machining the work. Accordingly, it is preferably that the tool is moved as fast as possible, relative to the table.
As positioning control in the prior art type numerical control apparatus, positioning control by means of a linearly positioning pass has been used or positioning control using a cutting feed mode has been required.
In the case of use of positioning control by means of a linearly positioning pass [EIA word address format: G0057 can be made very fast (for example 12000 mm/min). In this case, however, the relative movement is substantially linear. Accordingly, any one of the following three movement forms must be used to generate a machining program, considering factors such as interference between the work and the tool and the like:
(A) Simultaneous biaxial control movement (Refer to FIGS. 2(A)-(C) and 3(A)-3(C));
(B) Simultaneous uniaxial outer-round movement (Refer to FIGS. 4(A)-4(C)); and
(C) Simultaneous uniaxial inner round movement (Refer to FIGS. 5(A)-5(C)).
In the case of use of positioning control (Refer to FIGS. G(A)-G(C) using cutting feed mode [in EIA word address format, G01: linearly cutting, G02: circular-arcuate clockwise (right-handed) cutting G03: circular-arcuate counterclockwise left-handed cutting, and the like], the movement of the tool (T) relative to the work not only may be linear, but may be right- or left-handed. However, as speed increases, delay of a servo system with respect to control command increases to exceed an allowable error so that a protective circuit operates for emergency stop. Accordingly, in general, cutting feed mode cannot be used at a speed higher than 5000 mm/min.
In the following, the aforementioned positioning controls are described more in detail to facilitate the understanding as to what form and what size the work should have in various cases where the positioning controls are applied to the work.
In the case where drilling is carried out in the work (W) as shown in FIGS. 2(A) and 2(B), and more particularly, in the case wherre drilling points are determined so that the tool (T) is out of touch with the outside wall of the work (W) even when the top of the tool (T) takes the shortest route to move linearly from the drilling start point (Xa, Ya, Zr.sub.1) to the next drilling start point (Xb, Yb, Zr.sub.1) relative to the work (W), a machining program using linear positioning pass by means of simultaneously biaxial control movement is generated to establish such a machining pass as shown in FIGS. 2(A) and 2(C).
In this case, when the co-ordinates and sizes of respective parts are determined as shown in FIGS. 2(A) to 2(C), a typical example of the machining program is as follows.
______________________________________ &lt;PROGRAM&gt; &lt;OPERATION&gt; ______________________________________ N001 G28 x.sub.0 y.sub.0 z.sub.0 Check machine origin. N002 G90 Set absolute coordinate system. N003 Tw M06 Replace tool by No.n. Preset tool length. N004 Sn M03 Start -n r.p.m. forward rotation of main spindle. N005 G99 Designate to return to point R. N010 G00 Xx.sub.a Yy.sub.a Rapid traverse to first machining start point a. Positioning. N011 G81 Zz.sub.1 Rr.sub.1 Ff.sub.1 Drilling by fixed cycle G81. Return to point R. N020 Xx.sub.b Yy.sub.b Rapid traverse to point b. Positioning. Drilling by fixed cycle G81. Rapid return to point R. N030 Xx.sub.c Yy.sub.c Rapid traverse to point c. Positioning. Drilling by fixed cycle G81. Rapid return to point R. N040 G80 Cancel G81. N041 G28 Z.sub.o Rapid return to the origin of z-axis. N042 G28 X.sub.o Y.sub.o Rapid return to the origin of x- and y-axes. N043 M30 Program end. Rewind tape. ______________________________________
In the case where drilling is executed in the work (W) as shown in FIGS. 3(A) and 3(B), and more particularly, in the case where drilling points are determined so that the tool (T) comes in contact with the outside wall of the work (W) when the top of the tool (T) takes the shortest route to move linearly from the drilling start point (Xa, Ya, Zr.sub.1) to the next drilling start point (Xb, Yb, Zr.sub.1) relative to the work (W), a machining program using linearly positioning pass by measn of simultaneously biaxial control movement (A) is generated to establish such a machining pass as shown in FIGS. 3(A) and 3(C).
In this case, when the co-ordinates and sizes of respective parts are determined as shown in FIGS. 3(A) to 3(C), a typical example of the machining program is as follows.
______________________________________ &lt;PROGRAM&gt; &lt;OPERATION&gt; ______________________________________ N001 G28 x.sub.o y.sub.o z.sub.o Check machine origin. N002 G90 Set absolute coordinate system. N003 Tn M06 Replace tool by No.n. Preset tool length. N004 Sn M03 Start -n r.p.m. forward rotation of main spindle head. N010 G0 Xx.sub.a Yy.sub.a Rapid traverse to first machining start point a. Positioning. N011 G0 Zr.sub.1 Rapid traverse to point R. N012 G1 Zz.sub.1 Ff.sub.1 Cutting and feeding at f.sub.1 mm/min to point z.sub.1. N013 G0 Zr.sub.2 Rapid return to point r.sub.2. N020 G0 Xxb Yy.sub.b Simultaneously biaxial rapid traverse to point -b. Positioning. N021 G0 Zr.sub.1 Rapid traverse to point R. N022 G1 Zz.sub.1 Cutting feed drilling at f.sub.1 mm/min and feeding to point z.sub.1. N023 G0 Zr.sub.2 Rapid return to point r.sub.2. N030 G0 Xx.sub.c Yy.sub.c Simultaneously biaxial rapid traverse to point -c. Positioning. N031 G0 Zr.sub.1 Rapid traverse to point R. N032 G1 Zz.sub.1 Cutting feed drilling at f.sub.1 mm/min and feeding to point z.sub.1. N040 G28 Z.sub.o Rapid return to the origin of z-axis. N041 G28 X0 Y0 Rapid return to the origin of x- and y- axes. N042 M30 Program end. Rewind tape. ______________________________________
In the case where drilling is executed in the work (W) as shown in FIGS. 4(A) and 4(B), and more particularly, in the case where drilling points are determined so that the tool (T) comes in contact with the outside wall of the work (W) if the top of the tool (T) takes the shortest route to move linearly from the drilling start point (Xa, Ya, Zr.sub.1) to the next drilling start point (Xb, Yb, Zr.sub.1) relative in the work (W), and so that machining time is prolonged if the aforementioned machining pass (in which the tool can be escaped in the z-axis so as not to interfere with the work at the time of linearly positioning) as shown in FIGS. 3(A)-3(C) is employed, a machining program using linear positioning pass by means of a simultaneously uniaxial and outward rotation (b) is generated to establish such a machining pass as shown in FIGS. 4(A) and 4(C).
In this case, when the co-ordinates and sizes of respective parts are determined as shown in FIGS. 4(A) to 4(C), a typical example of the machining program is as follows.
______________________________________ &lt;PROGRAM&gt; &lt;OPERATION&gt; ______________________________________ N001 G28 x.sub.o y.sub.o z.sub.o Check machine origin. N002 G90 Set absolute-value coordinate system. N003 Tn M06 Replace tool by No.n. Preset tool length. N004 Sn M03 Start -n r.p.m. forward rotation of main spindle head. N005 G99 Set to return to point R. N010 G00 Xx.sub.a Yy.sub.a Rapid traverse to first machining start point a. Positioning. N011 G81 Zz.sub.1 Rr.sub.1 Ff.sub.1 Drilling by fixed cycle G8.sub.1. Rapid return to point R. N012 G80 Cancel fixed cycle G81. N020 G00 Xx.sub.b Rapid traverse the x-coordinate to point -b. N021 G81 Yy.sub.b Zz.sub.1 Rr.sub.1 Ff.sub.1 Rapid traverse the y-coordinate to point b. Positioning. Drilling by fixed cycle G81. Rapid traverse to point R. N022 G80 Cancel fixed cycle G81. N030 G00 Xx.sub.c + .alpha. Rapid traverse the x-coordinate to point c'. N031 G00 Yy.sub.c Rapid traverse the y-coordinate to point -c. N032 G81 Xx.sub.c Zz.sub.1 Rr.sub.1 Ff.sub.1 Rapid traverse the x-coordinate to point -c. Positioning. Drilling by fixed cycle G81. Rapid traverse to point R. N033 G80 Cancel fixed cycle G81. N040 G28 Z.sub.o Rapid return to the origin of z-axis. N041 G28 X.sub.o Y.sub.o Rapid return to the origin of x- and y-axes. N042 M30 Program end. Rewind tape. ______________________________________
In the case where drilling is carried out in the work (W) as shown in FIGS. 5(A) and 5(B), and more particularly, in the case where drilling points are determined so that the tool (T) may impair the inside wall of the work (W) if the top of the tool (T) takes the shortest route to move linear from the drilling start point (Xad, Ya, Zr.sub.1) to the next drilling start point (Xb, Yb, Zr.sub.1) relative to the work (W), and so that machining time may be prolonged if the aforementioned machining pass (in which the tool can escape in the z-coordinate axis so as not to interfere with the work at the time of linear as not to interferre with the work at the time of linear positioning as shown in FIGS. 3(A)-3(C) is employed, a machining program using linear positioning pass by means of simultaneously uniaxial and inward rotation (c) is generated to establish such a machining pass as shown in FIGS. 5(A) and 5(C).
In this case, when the co-ordinates and sizes of respective parts are determined as shown in FIGS. 5(A) to 5(C), a typical example of the machining program is as follows.
______________________________________ &lt;PROGRAM&gt; &lt;OPERATION&gt; ______________________________________ N001 G28 x.sub.o y.sub.o z.sub.o Check machine origin. N002 G90 Set absolute-value coordinate system. N003 Tn M06 Replace tool by No.n. Preset tool length. N004 Sn M03 Start -n r.p.m. forward rotation of main spindle head. N005 G99 Set to return to point R. N010 G00 Xx.sub.a Yy.sub.a Rapid traverse to first machining start point -a. Positioning. N011 G81 Zz.sub.1 Rr.sub.1 Ff.sub.1 Drilling by fixed cycle G81. Rapid return to point R. N012 G80 Cancel fixed cycle G81. N020 G00 Yy.sub.b Rapid traverse the x-coordinate to point -b. N021 G81 Xx.sub.b Zz.sub.1 Rr.sub.1 Ff.sub.1 Rapid traverse the y-coordinate to point -b. Positioning. Drilling by fixed cycle G81. Rapid traverse to point R. N022 G80 Cancel fixed cycle G81. N030 G00 Yyc Rapid traversae the y-coordinate to point -c. N031 G81 Xxc Zz.sub.1 Rr.sub.1 Ff.sub.1 Rapid traverse the x-coordinate to point -c. Positioning. Drilling by fixed cycle G81. Rapid traverse to point R. N032 G80 Cancel fixed cycle G81. N040 G28 Z.sub.o Rapid return to the origin of z-axis. N041 G28 X.sub.o Y.sub.o Rapid return to the origin of x- and y-axes. N042 M30 Program end. Rewind tape. ______________________________________
In the case where drilling is executed in the work (W) as shown in FIGS. 6(A) and 6(B), and more particularly, in the case where drilling points are determined so that the tool (T) may comes in contact with the outside or inside wall of the work (W) if the top of the tool (T) is moved from the drilling start point (Xa, Ya, Zr.sub.1) to the next drilling start point (Xb, Yb, Zt.sub.1) by use of any linearly positioning pass of simultneously biaxial control movement of FIGS. 2(A)-2(C), simultaneously uniaxial and outside rotation of FIGS. 4(A)-4(C), simultaneously uniaxial and inside rotation of FIGS. 5(A)-5(C), and so that machining time may be prolonged if the aforementioned machining pass (in which the tool can escape in the z-coordinate axis so as not to interfere with the work at the time of linearly positioning) as shown in FIGS. 3(A)-3(C) is employed, a machining program using a cutting feed mode is generated to establish such a circular-arcuate machining pass as shown in FIGS. 6(A) and 6(C).
In this case, when the co-ordinates and sizes of respective parts are determined as shown in FIGS. 6(A) to 6(C), a typical example of the machining program is as follows.
______________________________________ &lt;PROGRAM&gt; &lt;OPERATION&gt; ______________________________________ N001 G28 x.sub.0 y.sub.0 z.sub.0 Check machine origin. N002 G90; Set absolute-value coordinate system. N003 Tn M06; Replace tool by No.n. Preset tool length. N004 Sn M03; Start -n r.p.m. forward rotation of main spindle head N005 G99; Set to return to point R. N010 G00 Xx.sub.a Yy.sub.a ; Rapid traverse to first machining start point -a. Positioning. N011 G81 Zz.sub.1 Rr.sub.1 Ff.sub.1 ; Drilling by fixed cycle G81. Rapid return to point R. N012 G80; Cancel fixed cycle G81. N020 G03 Xx.sub.b Yy.sub.b Rr Ff.sub.0 ; Positioning in arc-like cutting mode to point -b. N021 G81 Zz.sub.1 Rr.sub.1 Ff.sub.1 ; Drilling by fized cycle G81. Rapid traverse to point R. N022 G80; Cancel fixed cycle G81. N030 G03 Xx.sub.c Yy.sub.c Rr Ff.sub.0 ; Positioning in arc-like cutting mode to point -c. N031 G81 Zz.sub. 1 Rr.sub.1 Ff.sub.1 ; Drilling by fixed cycle G81. Rapid tranverse to point R. N032 G80; Cancel fixed cycle G81. N040 G28 Z.sub.0 ; Rapid return to the origin of z-axis N041 G28 X.sub.0 Y.sub.0 ; Rapid return to the origin of x- and y-axes. N042 M30; Program end. Rewind tape. ______________________________________
It is a matter of course that the positioning control usign the aforementioned cutting feed mode can be used for machining the work (W) as shown in FIGS. 2(A)-2(C) to FIGS. 5(A)-5(C).
As described above, in the conventional numerical control apparatus, any one of the four positioning control methods has been used to generate a machining program, considering shape and size of the work, positioning time and the like.
When the positioning control using linear positioning pass is used, the tool (T) can be moved relative to the work (W) at high speed (for example 12000 mm/min). However, the work (W) and the tool (T) interfere with each other at the time of positioning as shown in FIGS. 2(A)-2(C) to FIG. 6(A)-6(C). in the case where the tool (T) must be free from the work (W) in any direction of X-, Y- and Z- axes in order to acclimate the interference, the migration distance of the tool relative to the work at the time of positioning may be considerably enlarged. Further, the number of migration passes would be increased relative to positioning by means of the cutting feed mode. For exaqmple, when the work (W) used is as shown in FIGS. 6(A) and 6(B) and has its U-groove considerably deep, the aforementioned problem exists.
Accordinly, considering positioning lag time (for example, G01, G02, G03: 0.1 sec per pass, G00: 0.6 sec per pass), a large amount of time is often required for positioning.
When the positioning control using linear positioning pass is used in the cause where drilling is made in the work (W) as shown in FIGS. 6(A) and 6(B), 13 migration passes are required (rapid traverse: 10 passes, cutting feed: 3 passes). On the other hand, when the positioning control by means of the cutting feed mode is used, the number of migration passes is 11 (rapid traverse: 6 passes, first cutting feed: 3 passes, second cutting feed (maximum speed for positioning): 2 passes).
In the case where the work (W) as shown in FIGS. 6(A)-6(C) or other figures is to be machined by use of the positioning control using the cutting feed mode, the tool can be moved along a circular or circular-arcutate pass relative to the work. Accordingly, it is unnecessary to free the tool (T) from the work (W) in any direction of X, Y and Z axes to prevent interference at the time of positioning. Accordingly, the migration distance of the tool (T) relative to the work (W) at the time of positioning can be shortened, and the number of migration passes can be reduced. However, as described above, the speed is limited to about 5000 mm/min at the maximum, so that a large amount of time is often required for positioning according to the form, size and the like of the work (W). For example, when the work (W) used is as shown in FIGS. 6(A)-6(C) and has its U-groove is considerably deep, and the drilling positions disposed in a circle are far away from each other, the aforementioned problem exists.
In the case where the positioning control using the cutting feed mode is used, it is apparent from the aforementioned machining program that a loto of procedures, such as feed-input setting at the time of positioning circular-arcuate pass [Hf.sub.0 in sequence number N020 and n030; Ff.sub.0 is often set to be the maximum speed (for example 5000 mm/min) to make positioning speedy], feed-imput setting again in the next cutting block [Hf.sub.1 in sequence number N021 and N031; [Hf.sub.1 is often set to be the lower speed (for example 200 mm/min) consideration of the machining, the breakdown of the tool and the like] and the, are required. Accordingly, a problem exists in that there is the possibility of increasing numerical values inputted in the program, omitting check at the time of program check, and the like.